local bag = require("bag.Proto")
local role = require("role.Proto")
local scene = require("scene.Proto")

-- 战甲系统打开请求
CG_ARMOUR_OPEN = {
}

-- 全部战甲增加的角色属性
GC_ARMOUR_ALLATTR = {
    {"allAttr",                         10,                 role.Attr},             -- 当前全部战甲增加的角色属性 
    {"allPower",                        1,                  "int"},                 -- 总增加战斗力
}

-- 战甲查询请求
CG_ARMOUR_QUERY = {
    {"id",                              1,                  "int"},                 -- 战甲ID 0:表示查询全部
}

-- 战甲查询提升结构提
ST_ARMOUR_CTL = {
    {"money",                           1,                  "int"},                 -- 消耗的银两,当战甲等级大于0时，表示升级所需银两，否则无需读此值
    {"itemlist",                        6,                  bag.ItemData},          -- 消耗道具与数量
}

-- 战甲属性结构体
ST_ARMOUR_ATTR = {
    {"curAttr",                         10,                 role.Attr},             -- 当前增加的角色总属性 
    {"curPower",                        1,                  "int"},                 -- 当前增加战斗力
    {"nextAttr",                        10,                 role.Attr},             -- 下一级增加的角色属性 
    {"nextPower",                       1,                  "int"},                 -- 下一级增加战斗力
}

ST_ARMOUR_DATA = {
    {"id",                              1,                  "int"},                 -- 战甲ID
    {"name",                            1,                  "string"},              -- 战甲名称
    {"lv",                              1,                  "int"},                 -- 战甲当前等级 0表示战甲尚未激活
    {"state",                           1,                  "int"},                 -- 是否穿戴 0:是 1:否
    {"ctllist",                         1,                  ST_ARMOUR_CTL},         -- 战甲激活或升级需要物质列表 lv为0表示升级所需 大于0表示升级所需
    {"attrlist",                        1,                  ST_ARMOUR_ATTR},        -- 战甲附带属性列表
    {"viewInfo",                        1,                  scene.ViewInfo},        -- 战甲形象
    {"star",                            1,                  "int"},                 -- 战甲星级
    {"feedstate",                       1,                  "int"},                 -- 培养状态 0 否 1 可
    {"starctllist",                     1,                  ST_ARMOUR_CTL},         -- 战甲升星需要物质列表
    {"starattrlist",                    1,                  ST_ARMOUR_ATTR},        -- 战甲升星附带属性列表
    {"feedctllist",                     1,                  ST_ARMOUR_CTL},         -- 战甲培养需要物质列表
    {"feedattrlist",                    1,                  ST_ARMOUR_ATTR},        -- 战甲培养附带属性列表
}

-- 战甲查询响应
GC_ARMOUR_QUERY = {
    {"curid",                           1,                  "int"},                 -- 当前穿戴战甲ID
    {"armourlist",                      6,                  ST_ARMOUR_DATA},        -- 战甲列表
}

-- 战甲穿戴请求
CG_ARMOUR_HOLD = {
    {"id",                              1,                  "int"},                 -- 战甲ID
    {"type",                            1,                  "int"},                 -- 0 穿 1 脱
}

-- 战甲穿戴响应
GC_ARMOUR_HOLD = {
    {"result",                          1,                  "int"},                 -- 激活响应  0:成功
    {"id",                              1,                  "int"},                 -- 战甲ID
}

-- 战甲激活请求
CG_ARMOUR_ACTIVE = {
    {"id",                              1,                  "int"},                 -- 战甲ID
}

-- 战甲激活响应
GC_ARMOUR_ACTIVE = {
    {"result",                          1,                  "int"},                 -- 激活响应 
    {"id",                              1,                  "int"},                 -- 战甲ID
}

-- 战甲升级请求
CG_ARMOUR_UPDATE = {
    {"id",                              1,                  "int"},                 -- 战甲ID
}

-- 战甲升级响应
GC_ARMOUR_UPDATE = {
    {"result",                          1,                  "int"},                 -- 升级响应 
    {"id",                              1,                  "int"},                 -- 战甲ID
}

-- 战甲升星请求
CG_ARMOUR_STARUP = {
    {"id",                              1,                  "int"},                 -- 战甲ID
    {"itemnum",                         1,                  "int"},                 -- 批量培养使用数量 仅战甲为培养状态时填写
}

-- 战甲升星响应
GC_ARMOUR_STARUP = {
    {"result",                          1,                  "int"},                 -- 升星响应 
    {"id",                              1,                  "int"},                 -- 战甲ID
}

-- 战甲培养查询
CG_ARMOUR_FEED_QUERY = {
    {"id",                              1,                  "int"},                 -- 战甲ID
}

GC_ARMOUR_FEED_QUERY = require("shenbing.Proto").GC_SHENBING_FEED_QUERY
